﻿// (c) Copyright 2012 by Michael P. Ferrell
// MikeFerrell@acm.org
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MPFerrell.Ftf
{
    class TemplateDef
    {
        protected string _Name;
        protected string _Desc;
        protected string _UnfilledText;
        protected FtfParamDefList _Parameters;

        public TemplateDef(): this("", "", "", 
                new System.Collections.Generic.List<FtfParameterDef>())
        {
        }

        public TemplateDef(string NameIn, string DescIn, string UnfilledTextIn,
                IList<FtfParameterDef> ParamsIn)
        {
            _Name = NameIn;
            _Desc = DescIn;
            _UnfilledText = UnfilledTextIn;
            _Parameters = new FtfParamDefList();
            _Parameters.AddRange(ParamsIn);
        }

        public string Name {
            get
            {
                return _Name;
            }
        }
        public string Desc
        {
            get
            {
                return _Desc;
            }
        }
        public string UnfilledText
        {
            get
            {
                return _UnfilledText;
            }
        }

        public ReadOnlyFtfParamDefList Parameters 
        { 
            get
            {
                return new ReadOnlyFtfParamDefList(_Parameters);
            }
        }
    }
}
